ef394ec2b2b32352bc361b5fc2e00ce16611271a,jackson/src/main/java/com/webcohesion/enunciate/modules/jackson/api/impl/ObjectDataTypeImpl.java,ObjectDataTypeImpl,getSubtypes,#,118

Before Change


  @Override
  public List<DataTypeReference> getSubtypes() {
    ArrayList<DataTypeReference> subtypes = new ArrayList<DataTypeReference>();
    String myClassName = this.typeDefinition.getQualifiedName().toString();

    for (TypeDefinition td : this.typeDefinition.getContext().getTypeDefinitions()) {
      if (td instanceof ObjectTypeDefinition) {
        TypeMirror superclass = td.getSuperclass();
        if (superclass instanceof DeclaredType && (((TypeElement) ((DeclaredType) superclass).asElement()).getQualifiedName().toString().equals(myClassName))) {
          subtypes.add(new DataTypeReferenceImpl(JsonTypeFactory.getJsonType(td.asType(), this.typeDefinition.getContext())));
        }
      }

After Change


  public List<DataTypeReference> getSubtypes() {
    ArrayList<DataTypeReference> subtypes = new ArrayList<DataTypeReference>();
    for (TypeDefinition td : this.typeDefinition.getContext().getTypeDefinitions()) {
      if (td instanceof ObjectTypeDefinition && !td.getQualifiedName().contentEquals(this.typeDefinition.getQualifiedName()) && ((DecoratedTypeMirror)td.asType()).isInstanceOf(this.typeDefinition)) {
        subtypes.add(new DataTypeReferenceImpl(JsonTypeFactory.getJsonType(td.asType(), this.typeDefinition.getContext())));
      }
    }